// POST	/Job	添加职位。
// PATCH	/Job/{Job_id}	更新特定的职位。
// DELETE	/Job/{Job_id}	删除特定的职位。
// GET	/Job/me/Job	检索职位列表。
// GET	/Job/{Job_id}/Job	检索职位列表。
// GET	/Job/Job/{Job_id}	检索职位列表。
// GET	/Job/me/Job	检索认证用户的职位申请。
// GET	/Job/{Job_id}/Job	检索职位申请。
// POST	/Job/question	添加职位相关问题。
// GET	/Job/questions	检索职位相关问题。
// GET	/Job/question/{question_id}	检索特定的职位相关问题。
// PATCH	/Job/question/{question_id}	更新特定的职位相关问题。
// DELETE	/Job/question/{question_id}	删除特定的职位相关问题。

package v1

import (
	"github.com/google/uuid"
	"github.com/gogf/gf/v2/frame/g"
	"github.com/gogf/gf-demo-user/v2/internal/model/entity"
)
type JobReq struct {
	g.Meta   `path:"/job/{Job_id}" method:"get" tags:"JobService" summary:"检索信息"`
	Job_id uuid.UUID `v:"required" in:"path"`
}

type JobPostReq struct {
	g.Meta   `path:"/job" method:"post" tags:"JobService" summary:"添加职位"`
	Title string      `v:"required"`
	Company string      `v:"required"`
	Tag string    `v:"required"`
	Description string      `v:"required"`
	Salary string     `v:"required"`
	IsRemote string    `v:"required"`
	IsHybrid string     `v:"required"`
	Expiry string     `v:"required"`
	Question string    `v:"required"`
	Status string     `v:"required"`
}

type JobUpReq struct {
	g.Meta   `path:"/job/{Job_id}" method:"patch" tags:"JobService" summary:"更新特定的职位"`
	Job_id uuid.UUID     `v:"required" in:"path"`
	Title string      `v:"required"`
	Company string      `v:"required"`
	Tag string    `v:"required"`
	Description string      `v:"required"`
	Salary string     `v:"required"`
	IsRemote string    `v:"required"`
	IsHybrid string     `v:"required"`
	Expiry string     `v:"required"`
	Question string    `v:"required"`
	Status string     `v:"required"`
}
type JobMeReq struct {
	g.Meta   `path:"/job/me" method:"get" tags:"JobService" summary:"检索职位列表"`
}

type JobMeUpReq struct {
	g.Meta   `path:"/job/me" method:"patch" tags:"JobService" summary:"更新信息"`
	Name string      `v:"required"`
	Description string  `v:"required"`
	Industry string     `v:"required"`
	Tag string      `v:"required"`
	Address string  `v:"required"`
	Website string  `v:"required"`
	City string     `v:"required"`
	Size string     `v:"required"`
	Contact string  `v:"required"`
	Logo string     `v:"required"`
}
type JobDeleReq struct {
	g.Meta   `path:"/job" method:"delete" tags:"JobService" summary:"删除特定的职位"`
	Job_id  uuid.UUID      `v:"required" in:"path"`
}
type JobQuestionReq struct {
	g.Meta   `path:"/job/questions/{Question_id}" method:"get" tags:"JobService" summary:"检索特定的职位相关问题"`
	Question_id uuid.UUID      `v:"required" in:"path"`
}
type JobQuestionPostReq struct {
	g.Meta   `path:"/job/question" method:"post" tags:"JobService" summary:"添加职位相关问题"`
	Question string      `v:"required"`
}
type JobQuestionDeleReq struct {
	g.Meta   `path:"/job/question/{Question_id}" method:"delete" tags:"JobService" summary:"删除特定的职位相关问题"`
	Question_id  uuid.UUID      `v:"required" in:"path"`
}
type JobQuestionUpReq struct {
	g.Meta   `path:"/job/question/{Job_id}" method:"patch" tags:"JobService" summary:"更新特定的职位相关问题"`
	Job_id  uuid.UUID      `v:"required" in:"path"`
	Status string      `v:"required"`
	Expiry string      `v:"required"`
}
type JobRes struct{
	*entity.Job
}

type JobMeRes struct{
	*entity.Job
}

type JobQuestionRes struct{
	*entity.JobQuestion
}

type JobDeleRes struct{
}

type JobQuestionUpRes struct{
}

type JobUpRes struct{
}

type JobPostRes struct{
}
